﻿#region License
// Copyright 2008 Doug Mayer - http://code.google.com/p/nfaker
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#endregion

using System;
using System.Text.RegularExpressions;

namespace NFaker
{
	public static class Fake
	{
		public static readonly Random Random = new Random();

		public static readonly FakeAddress Address = new FakeAddress();
		public static readonly FakeCompany Company = new FakeCompany();
		public static readonly FakeInternet Internet = new FakeInternet();
		public static readonly FakeName Name = new FakeName();
		public static readonly FakePhoneNumber Phone = new FakePhoneNumber();

		/// <summary>
		/// Replace all "#" symbols in the given string with a random 0-9 digit.
		/// </summary>
		/// <param name="numberString">String to transform.</param>
		public static string Numerify(string numberString)
		{
			var regex = new Regex("#");
			while (regex.IsMatch(numberString))
			{
				numberString = regex.Replace(numberString, Random.Next(10).ToString(), 1);
			}
			return numberString;
		}
	}
}